using System;
using System.Collections.Generic;
using System.Text;


namespace GoogleNet
{
    /// <summary>
    /// Abstract class from whch all KML elements derive from.
    /// </summary>
    /// <remarks>
    /// This is an abstract base class and cannot be used directly in a KML file. 
    /// It provides the id attribute, which allows unique identification of a KML element, 
    /// and the targetId attribute, which is used to reference objects that have already 
    /// been loaded into Google Earth. 
    /// The id attribute must be assigned if the Update mechanism is to be used.
    /// </remarks>
    public abstract class KmlObject
    {
        #region ID
        private string id;

        /// <summary>
        /// Gets or sets the ID of the object.
        /// </summary>
        /// <value>The id.</value>
        public string ID
        {
            get { return id; }
            set { id = value; }
        } 
        #endregion

        #region TargetID
        private string targetId;

        /// <summary>
        /// Gets or sets the target ID, used to reference objects that have already 
        /// been loaded into Google Earth.
        /// </summary>
        /// <value>The id.</value>
        public string TargetID
        {
            get { return targetId; }
            set { targetId = value; }
        }
        #endregion

    }
}
